package br.com.fsa.aplication.Services;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import br.com.fsa.aplication.Database.CarroDAO;
import br.com.fsa.aplication.Exception.ConectionException;
import br.com.fsa.aplication.Model.CarroVO;
import br.com.fsa.aplication.Model.LogisticaVO;
import br.com.fsa.aplication.Model.bean.Carro;
import br.com.fsa.aplication.Model.bean.Logistica;
import br.com.fsa.aplication.Util.Traduzir;

public class CarroService {
	CarroDAO dao =  new CarroDAO();
	
	public HashMap salvar(HashMap dto) throws ConectionException{
		Object o = Traduzir.ObjetoValor(dto.get("objeto"));
		o = dao.save((Carro) o);
		dto.put("resposta", Traduzir.Entidade(o));
		return dto;
		
	}
	
	public List<CarroVO> lista() throws ConectionException{
		List<Carro> o = dao.list();
		List<CarroVO> resposta = new ArrayList<CarroVO>();
		for (Carro l:o){
			resposta.add((CarroVO)Traduzir.Entidade(l));
		}
		return resposta;	
	}
	
	public void remover(HashMap dto) throws ConectionException{
		Object o = Traduzir.ObjetoValor(dto.get("objeto"));
		dao.delete((Carro)o);
	}
	
	public void atualizar (HashMap dto){
		Object o = Traduzir.ObjetoValor(dto.get("objeto"));
		dao.update((Carro)o);
	}
	
	public HashMap obterPorId(HashMap dto) throws ConectionException{
		dto.put("resposta", Traduzir.Entidade(dao.getById((Serializable)dto.get("objeto"))));
		return dto;
	} 

}
